package net.lgy.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author 日落前的星星
 * @since 2025-09-03
 */
@Getter
@Setter
@TableName("account")
@Schema(name = "AccountDO", description = "用户信息")
public class AccountDTO implements Serializable {


    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("account_no")
    private Long accountNo;

    @Schema(description = "头像")
    @TableField("head_img")
    private String headImg;

    @Schema(description = "手机号")
    @TableField("phone")
    private String phone;


    @Schema(description = "盐，用于个人敏感信息处理")
    @TableField("secret")
    private String secret;

    @Schema(description = "邮箱")
    @TableField("mail")
    private String mail;

    @Schema(description = "用户名")
    @TableField("username")
    private String username;

    @Schema(description = "认证级别，DEFAULT，REALNAME，ENTERPRISE")
    @TableField("auth")
    private String auth;

    @TableField("gmt_create")
    private Date gmtCreate;

    @TableField("gmt_modified")
    private Date gmtModified;

    @TableField("token")
    private String token;

    @Schema(description = "用户角色 COMMON, ADMIN")
    @TableField("role")
    private String role;
}
